package com.rerun.entity;


import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.rerun.common.util.JsonDateFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * The type Member user.
 * @author Administrator
 */
@TableName("member_user")
public class MemberUser extends Model<MemberUser> {

    private static final long serialVersionUID = -1567303249775934448L;
    @TableId(type = IdType.UUID)
    private String id;
    private String phone;
    private String email;
    private String nickname;
    private String password;
    private String loginIp;
    private String lastLoginIp;
    @JsonSerialize(using=JsonDateFormat.class)
    private Date createTime;
    @JsonSerialize(using=JsonDateFormat.class)
    private Date lastLoginTime;
    private String status;
    @JsonSerialize(using=JsonDateFormat.class)
    private Date loginTime;
    private String headerImg;
    private String  highestEdu;
    private long sex;


    /**
     * Gets id.
     *
     * @return the id
     */
    public String getId() {
        return id;
    }

    /**
     * Sets id.
     *
     * @param id the id
     */
    public void setId(String id) {
        this.id = id;
    }


    /**
     * Gets phone.
     *
     * @return the phone
     */
    public String getPhone() {
        return phone;
    }

    /**
     * Sets phone.
     *
     * @param phone the phone
     */
    public void setPhone(String phone) {
        this.phone = phone;
    }


    /**
     * Gets email.
     *
     * @return the email
     */
    public String getEmail() {
        return email;
    }

    /**
     * Sets email.
     *
     * @param email the email
     */
    public void setEmail(String email) {
        this.email = email;
    }


    /**
     * Gets nickname.
     *
     * @return the nickname
     */
    public String getNickname() {
        return nickname;
    }

    /**
     * Sets nickname.
     *
     * @param nickname the nickname
     */
    public void setNickname(String nickname) {
        this.nickname = nickname;
    }


    /**
     * Gets password.
     *
     * @return the password
     */
    public String getPassword() {
        return password;
    }

    /**
     * Sets password.
     *
     * @param password the password
     */
    public void setPassword(String password) {
        this.password = password;
    }


    /**
     * Gets login ip.
     *
     * @return the login ip
     */
    public String getLoginIp() {
        return loginIp;
    }

    /**
     * Sets login ip.
     *
     * @param loginIp the login ip
     */
    public void setLoginIp(String loginIp) {
        this.loginIp = loginIp;
    }


    /**
     * Gets last login ip.
     *
     * @return the last login ip
     */
    public String getLastLoginIp() {
        return lastLoginIp;
    }

    /**
     * Sets last login ip.
     *
     * @param lastLoginIp the last login ip
     */
    public void setLastLoginIp(String lastLoginIp) {
        this.lastLoginIp = lastLoginIp;
    }


    /**
     * Gets create time.
     *
     * @return the create time
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * Sets create time.
     *
     * @param createTime the create time
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }


    /**
     * Gets last login time.
     *
     * @return the last login time
     */
    public Date getLastLoginTime() {
        return lastLoginTime;
    }

    /**
     * Sets last login time.
     *
     * @param lastLoginTime the last login time
     */
    public void setLastLoginTime(Date lastLoginTime) {
        this.lastLoginTime = lastLoginTime;
    }


    /**
     * Gets status.
     *
     * @return the status
     */
    public String getStatus() {
        return status;
    }

    /**
     * Sets status.
     *
     * @param status the status
     */
    public void setStatus(String status) {
        this.status = status;
    }


    /**
     * Gets login time.
     *
     * @return the login time
     */
    public Date getLoginTime() {
        return loginTime;
    }

    /**
     * Sets login time.
     *
     * @param loginTime the login time
     */
    public void setLoginTime(Date loginTime) {
        this.loginTime = loginTime;
    }


    /**
     * Gets header img.
     *
     * @return the header img
     */
    public String getHeaderImg() {
        return headerImg;
    }

    /**
     * Sets header img.
     *
     * @param headerImg the header img
     */
    public void setHeaderImg(String headerImg) {
        this.headerImg = headerImg;
    }

    public String getHighestEdu() {
        return highestEdu;
    }

    public void setHighestEdu(String highestEdu) {
        this.highestEdu = highestEdu;
    }

    /**
     * Gets sex.
     *
     * @return the sex
     */
    public long getSex() {
        return sex;
    }

    /**
     * Sets sex.
     *
     * @param sex the sex
     */
    public void setSex(long sex) {
        this.sex = sex;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "{" +
                "id:" + id +
                ", phone:" + phone +
                ", email:" + email +
                ", nickname:" + nickname +
                ", loginIp:" + loginIp +
                ", lastLoginIp:" + lastLoginIp +
                ", createTime:" + createTime +
                ", lastLoginTime:" + lastLoginTime +
                ", status:" + status +
                ", loginTime:" + loginTime +
                ", headerImg:" + headerImg +
                ", highestEdu:" + highestEdu +
                ", sex:" + sex +
                '}';
    }
}
